package day04_Array;

//数组的定义：是一种容器，可以保存多个值
//数组的特点：
//1、数组中每一个保存的值，类型都是一样的
//2、数组一旦创建，它的长度不可以改变
//3、数组是引用类型
//
//数组的使用：
//数组在使用时必须先初始化
//两种方式：
//    动态初始化（数组的长度）
//    静态初始化（数组的内容）
//
//数组初始化格式
//
//动态初始化：
//数据类型 [] 数组名 = new 数据类型[数组的长度]
//格式解析：
//左边的数据类型：数组中存放的值，是什么类型的，可以指定为 java中的8大基本数据类型，还可以是引用类型
//左边的中括号：声明的是一个数组
//左边的数组名：表示我们创建出来的数组的名称
//等号：赋值
//new：表示开辟一段内存空间来存放数组
//右边的数据类型同左边的数据类型
//数组的长度：创建的数组可以存放多少个值
//
//静态初始化格式：
//数据类型 [] 数组名 = new 数据类型[]{元素1,元素2,元素3......}
//静态初始化还有一种简写模式：
//数据类型 [] 数组名 = {元素1,元素2,元素3......}
//
//注意事项：
//虽然静态初始化方式，不需要指定长度，但实际上可以根据元素的个数反推出数组的长度
//
//使用建议：
//当知道存放的数据的具体内容时，采用静态初始化方式
//如果只知道有多少个数据，那么可以采用动态初始化方法
//
//public static void main(String[] args)
//实际上main方法中的 String[] args 也是一个数组
//java helloWorld.class param1 param2
//param1 param2 作为程序传入的参数，会被封装到args里

public class Demo03_Array {
    public static void main(String[] args) {
        //动态初始化：
        // 数据类型 [] 数组名 = new 数据类型[数组的长度]
        // 创建了一个长度为5，可以存放5个String字符串
        String[] students = new String[5];
        // 可以存放6个int值的数组
        int[] array = new int[6];
        // 可以存放7个double类型值的数组
        double[] arraya = new double[7];

        // 90 96 88 80 87
        // 静态初始化方式
        // 数据类型 [] 数组名 = new 数据类型[]{元素1,元素2,元素3......}
        int[] arrayA = new int[]{90, 96, 88, 80, 87};
        // "hello","world","java"
        String [] arrayB = new String[]{"hello","world","java"};
        // 静态初始化的简写模式
        int [] arrayC = {90, 96, 88, 80, 87}; // java 里的写法
        int arrayD [] = {90, 96, 88, 80, 87}; // c++ 里的写法
    }
}
